SQL語法中的Group by 意思就是說,欄位內的資料若有不只一筆名稱相同的資料的話,就會把它們作為群組。
然後通過使用GROUP BY,可以讓SUM和COUNT這些函式對屬於一組的資料起作用。
範例:
現在有一個Orderdetail資料表,裡面記錄了每一筆訂單所購買了些什麼產品編號個多少錢這樣。
現在要使用Group by並計算每一筆訂單的總金額是多少錢,SQL如下:
select orderID as 訂單編號 , sum(total) as 總金額 from Orderdetial group by orderID
對orderID欄位group by,將相同名稱的orderID資料合再一起,並且計算出每筆orderID的total加總。顯示結果:
也可以下其他的聚合函數AVG、MAX等,例如要找出每筆訂單最貴的金額是多少XD
SQL如下:
SELECT orderID AS 訂單編號, max(total) AS 最貴的訂單價格
FROM Orderdetial
GROUP BY orderID
顯示結果: